10 REM : A PRINT UTILITY PROGRAM TO 20 REM : COLLECT,TRUNCATE, MINATURIZE 30 REM : AND PRINT THE DIRECTORY OF ANY 40 REM : DISK - PROGRAMS OR GRAPHICS - 50 REM : ONTO A STANDARD LARGE LABEL 60 REM : USING A STAR NX1000 OR CHANGE 70 REM : LINE 5130 FOR OTHER PRINTER** 80 REM : BY JERRY & BRETT MASON 90 REM : FATHER & SON 100 PRINT"[147]":POKE53280,5:POKE53281,5:POKE646,6 200 PRINT "TINY DISK LABELS FOR PROGRAM DISKS OR GRAPHICS DISKS" 400 INPUT"HOW MANY COLUMNS?(INPUT 1 TO 6): 6[157][157][157]";JBM 500 GM=0:GR$="":GR=0:E$=CHR$(27) 700 INPUT "IS THIS A DISK OF GRAPHICS (Y[146]/N[146]) N[157][157][157]";YN$ 800 IF YN$>="Y" THEN GR$=CHR$(17) 900 IF GM<>0 THEN1200 1000 INPUT "IS THE PRINTER ON (Y[146]/N[146]) Y[157][157][157]"; A$ 1100 IF A$<>"Y" THEN PRINT;: GOTO1000 1200 DIM N$(300): REM UP TO 300 FILES ON DISK 1300 OPEN 15,8,15 1400 OPEN 4,4 1900 PRINT "INSERT A DISK IN DRIVE AND" 2000 PRINT "THEN PRESS ANY KEY" 2100 GET A$: IF A$="" THEN2100 2200 PRINT "[147]"; 2300 PRINT#15, "I" 2400 CT=0: REM CT IS THE COUNT OF THE NUMBER OF DISK FILES 2500 IF GR$<>"" THEN PRINTCHR$(14):REM IF GRAPHICS DISK, CHANGE SCREEN DISPLAY 2600 OPEN 2,8,0,"$0:*" 2700 GET#2, A$,A$ 2800 GET#2, A$,A$,A$,B$ 2900 A=ASC(A$+CHR$(0))+256*ASC(B$+CHR$(0)): REM CALC FILE SIZE 3000 IF ST THEN5130 3100 L$="" 3200 IF CT THEN L$=MID$(STR$(A)+"",2,3) 3300 GET#2, A$ 3350 IFZ=0THENGOTO3450 3400 IF NOT(A$=CHR$(34) OR A$="B") THEN3300: REM SEARCH FOR " OR B 3450 [136]Z[178]1 3500 [137]4200 3600 [161]#2, A$: [139] A$[178]"" [167]4300 3700 [139] ([198](A$)[175]127)[179]32 [167]3600 3800 [139] GR$[178]"" [167]4100 3900 [139] A$[177]"@" [175] A$[179]"[" [167] A$[178][199]([198](A$)[170]32): [143] CONVERT TO UPPERCASE 4000 [137]4200 4100 [139] [198](A$)[177]192 [167] A$[178][199]([198](A$)[171]128): [143] CONVERT TO UPPERCASE 4200 L$[178]L$[170]A$: [137]3600: [143] FORM NEXT FILENAME 4300 L$[178][202](L$,3,17): [143] ADJUSTS FILENAME TO 17 CHARACTERS 4400 [129] X[178]1 [164] [195](L$):[143] THIS SUBROUTINE CHANGES QUOTE MARKS TO SPACES 4500 [139] [202](L$,X,1)[178][199](34) [167] L$[178][200](L$,X[171]1)[170]" "[170][201](L$,[195](L$)[171]X) 4600 [130] X 4700 [139] [198](L$)[178]32 [167] L$[178][201](L$,[195](L$)[171]1)[170]" " 4800 N$(CT)[178]L$: [143] PUT FILENAME IN NAME ARRAY 4900 [153] L$: [143] LIST FILENAME ON SCREEN 5000 CT[178]CT[170]1 5100 [137]2800 5130 [152]4,E$;[199](120);[199](49),E$;[199](107);[199](3),E$;[199](29):[143] ORATOR 5150 [152]4,E$;[199](87);[199](49):[143] DOUBLE WIDE 5160 [136]Z[178]0 5200 [152]4,GR$;N$(0): [143] PRINT INPUT# INFO 5210 [152]4,E$;[199](64);: [143] RESET PRINTER 5220 [152]4, E$;[199](15);: [143] SETS CONDENSED TYPE 5230 [152]4,E$;[199](83)[199](49);:[143] SUBSRIPT MODE IS SELECTED 5240 [152]4,E$;[199](51);[199](15);:[143] REDUCES VERTICAL SPACING 5300 CT[178]CT[171]1: [143] ADD FREE BLOCKS TO PRINT OUT 5400 N$(CT)[178][200](N$(CT),3)[170][202](N$(CT),4): [143] PUT BLANK IN FREE BLOCK COUNT 5500 MID[178] [181](CT[173]JBM) 5600 [129] I[178] 1 [164] MID:[143] THIS SUBROUTINE PRINTS THE LABEL 5700 [152]4,GR$; 5800 [129] IZ[178]0 [164] JBM[171]1 5900 [152]4,N$(I[170]IZ[172]MID); 6000 [130] IZ 6100 [152]4,"" 6200 [130] I 6300 [139] CT[173]JBM [178] MID [167]6500 6400 [129] I[178]CT[171]((CT[173]JBM[171]MID)[172]JBM)[170]1 [164] CT:[152]4,GR$;N$(I);J:[130] 6500 [152]4, 6600 [152]4,E$;[199](64):[143] RESETS PRINTER 6700 [152]4, 6800 [160] 2 6900 [139] GR$[179][177]"" [167] [153] [199](142) 7000 [153] "DO YOU WANT TO PRINT ANOTHER" 7100 [133] "DIRECTORY (YWAIT/NWAIT) YCMDCMDCMD"; A$ 7200 [139] A$[178]"Y" [167] [156]: XX[178]1: [137]100 7300 [153] "LOAD" 7400 [128]